home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / system-config-printer / statereason.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-29  |  5KB  |  122 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4.  
  5. _ = lambda x: x
  6.  
  7. def set_gettext_function(fn):
  8.     global _
  9.     _ = fn
  10.  
  11.  
  12. class StateReason:
  13.     REPORT = 1
  14.     WARNING = 2
  15.     ERROR = 3
  16.     LEVEL_ICON = {
  17.         REPORT: 'info',
  18.         WARNING: 'important',
  19.         ERROR: 'error' }
  20.     
  21.     def __init__(self, printer, reason):
  22.         self.printer = printer
  23.         self.reason = reason
  24.         self.level = None
  25.         self.canonical_reason = None
  26.  
  27.     
  28.     def get_printer(self):
  29.         return self.printer
  30.  
  31.     
  32.     def get_level(self):
  33.         if self.level != None:
  34.             return self.level
  35.         
  36.         if self.reason.endswith('-report') or self.reason == 'connecting-to-device':
  37.             self.level = self.REPORT
  38.         elif self.reason.endswith('-warning'):
  39.             self.level = self.WARNING
  40.         else:
  41.             self.level = self.ERROR
  42.         return self.level
  43.  
  44.     
  45.     def get_reason(self):
  46.         if self.canonical_reason:
  47.             return self.canonical_reason
  48.         
  49.         level = self.get_level()
  50.         reason = self.reason
  51.         if level == self.WARNING and reason.endswith('-warning'):
  52.             reason = reason[:-8]
  53.         elif level == self.ERROR and reason.endswith('-error'):
  54.             reason = reason[:-6]
  55.         
  56.         self.canonical_reason = reason
  57.         return self.canonical_reason
  58.  
  59.     
  60.     def __repr__(self):
  61.         if self.level == self.REPORT:
  62.             level = 'REPORT'
  63.         elif self.level == self.WARNING:
  64.             level = 'WARNING'
  65.         else:
  66.             level = 'ERROR'
  67.         return '<statereason.StateReason (%s,%s,%s)>' % (level, self.get_printer(), self.get_reason())
  68.  
  69.     
  70.     def get_description(self):
  71.         messages = {
  72.             'toner-low': (_('Toner low'), _("Printer '%s' is low on toner.")),
  73.             'toner-empty': (_('Toner empty'), _("Printer '%s' has no toner left.")),
  74.             'cover-open': (_('Cover open'), _("The cover is open on printer '%s'.")),
  75.             'door-open': (_('Door open'), _("The door is open on printer '%s'.")),
  76.             'media-low': (_('Paper low'), _("Printer '%s' is low on paper.")),
  77.             'media-empty': (_('Out of paper'), _("Printer '%s' is out of paper.")),
  78.             'marker-supply-low': (_('Ink low'), _("Printer '%s' is low on ink.")),
  79.             'marker-supply-empty': (_('Ink empty'), _("Printer '%s' has no ink left.")),
  80.             'offline': (_('Printer off-line'), _("Printer `%s' is currently off-line.")),
  81.             'connecting-to-device': (_('Not connected?'), _("Printer '%s' may not be connected.")),
  82.             'other': (_('Printer error'), _("There is a problem on printer `%s'.")) }
  83.         
  84.         try:
  85.             (title, text) = messages[self.get_reason()]
  86.             
  87.             try:
  88.                 text = text % self.get_printer()
  89.             except TypeError:
  90.                 pass
  91.  
  92.         except KeyError:
  93.             if self.get_level() == self.REPORT:
  94.                 title = _('Printer report')
  95.             elif self.get_level() == self.WARNING:
  96.                 title = _('Printer warning')
  97.             elif self.get_level() == self.ERROR:
  98.                 title = _('Printer error')
  99.             
  100.             text = _("Printer '%s': '%s'.") % (self.get_printer(), self.get_reason())
  101.  
  102.         return (title, text)
  103.  
  104.     
  105.     def get_tuple(self):
  106.         return (self.get_level(), self.get_printer(), self.get_reason())
  107.  
  108.     
  109.     def __cmp__(self, other):
  110.         if other == None:
  111.             return 1
  112.         
  113.         if other.get_level() != self.get_level():
  114.             return cmp(self.get_level(), other.get_level())
  115.         
  116.         if other.get_printer() != self.get_printer():
  117.             return cmp(other.get_printer(), self.get_printer())
  118.         
  119.         return cmp(other.get_reason(), self.get_reason())
  120.  
  121.  
  122.